lp0 on fire (aka Printer on Fire) is a semi-obsolete error message generated on some Unix and Unix-like computer operating systems in response to certain types of printer errors. lp0 is the Unix device handle for the first line printer, but the error can be displayed for any printer attached to a Unix/Linux system. The message is intended to be humorous, and does not reliably indicate whether or not the printer in question is actually alight.
Contents |
The probable origin of the "on fire" message was the late 1950s, when high speed computerized printing was still a somewhat experimental field. The first documented fire-starting printer was a Stromberg-Carlson 5000 xerographic printer, installed around 1959 at the Lawrence Livermore National Laboratory, modified with an extended fusing oven to achieve a print speed of one page per second. In the event of a printing stall, and occasionally in normal operation, the fusing oven would heat paper to combustion, which was aggravated by the fact that if the printer continued to operate, it would essentially stoke the oven with fresh paper at high speed. There is, however, no evidence of the "lp0 on fire" message appearing in any software of the time.[1]
As the technology matured, most large printer installations consisted of large drum printers, a type of impact printer which could print an entire line of text at once through the use of a high speed rotary printing drum. It was thought that in the event of a severe jam, the friction of paper against the drum could ignite either the paper itself, or, in the event of a dirty machine, the accumulated paper and ink dust in the mechanism. However, it is unclear if this ever happened, as there are no surviving reports of friction-related printer fires.
The line printer employed a series of status codes, specifically ready, online, and check. If the online status was set to "off" and the check status was set to "on," the operating system would interpret this as the printer running out of paper. However, if the online code was set to "on" along with the check code also set to "on" this would mean that the printer still has paper, but is suffering an error, and is still running. Due to the potentially hazardous conditions which could arise in early line printers, Unix displayed the message "on fire", which would serve to motivate any system operator viewing the message to go and check on the line printer immediately.[2]
While modern inkjet and laser printers are nowhere near as flammable as their mainframe ancestors, the lp device code in all sorts of POSIX-compliant operating systems retained this legacy message. As printer drivers and support improved, this error condition could be trapped and handled appropriately, and as a result, most Unix/Linux users today have never encountered the "on fire" message. However, the message is still present in many kernels, especially with legacy parallel port device support,[3] and continues to baffle users to this day.[4]
The "on fire" message is also present in other components, often to a humorous effect. For example, in some kernels' CPU code, a CPU thermal failure could result in the message "CPU#0: Possible thermal failure (CPU on fire ?)." [5]